package com.lty.jeeg.server.modules.tms.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lty.jeeg.server.modules.sys.model.BaseEntity;
import com.lty.jeeg.server.modules.sys.model.FileInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author : LTY
 * @date : 2019-03-26 10:53:09
 * Description :
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class Task extends BaseEntity<Long> {

    private static final long serialVersionUID = 1L;

    /**
     * 任务名称
     */
    private String name;

    /**
     * 项目Id
     */
    private Long projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 负责人
     */
    private Long executorId;

    /**
     * 负责人姓名
     */
    private String executorName;

    /**
     * 执行者
     */
    private String participantId;

    /**
     * 执行者名称
     */
    private String participantName;

    /**
     * 任务详情
     */
    private String description;

    /**
     * 截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date deadline;

    /**
     * 任务状态
     */
    private Integer status = 0;

    /**
     * 是否置顶
     */
    private Integer isTop = 0;

    /**
     * 预计工时
     */
    private Integer estimateWorkingHours = 0;

    /**
     *登记工时
     */
    private Integer actualTotalWorkingHours = 0;

    /**
     * 优先级
     */
    private Integer grade = 1;

    /**
     截图附件
     */
    private String screenshotPath;

    /**
     截图附件List
     */
    private List<FileInfo> screenshotPaths;

    /**
     * 关联任务
     */
    private String conjunctionTaskId;

    /**
     * 关联任务
     */
    private String conjunctionTaskName;

    private List<Long> atUsers = new ArrayList<>();


}
